This application relates to an application by the same inventors entitled xe2x80x9cA Low Complexity Correlator for Multi-code CDMAxe2x80x9d filed on the same date as this application, and incorporated herein by reference.
This invention relates generally to despreaders, and more particularly to a dual-code despreader that can despread pseudonoise (PN) sequences used for Code Division Multiple Access (CDMA) systems.
The growing importance of wireless communications has increased the demand for data transmission over mobile radio channels. Although GSM standards have become very popular and data service specifications are developing, most current mobile communications still use CDMA technologies. Future multimedia transmission, however, will require wide bandwidths and high data rates, which in turn will require complex and expensive hardware.
CDMA systems use a PN sequence to xe2x80x9cspreadxe2x80x9d input data to resist data loss in a noisy wireless environment. The transmitted baseband signal is expressed as                                           S            T                    =                                    ∑              i                        ⁢                          b              ⁢                              xe2x80x83                            ⁢                              i                ⁡                                  [                  j                  ]                                            ⁢              C              ⁢                              xe2x80x83                            ⁢              i                                      ,                            (        1        )            
where b1 [j], a scalar value representing the jth bit of user i, is +1 or xe2x88x921, and Ci, a column vector representing the PN code sequence, also has entries of either +1 or xe2x88x921. The baseband signals are then summed and transmitted.
Receivers must despread the received signal back into an original input symbol by correlating the received signal with the same PN code Ck used to spread the signal as follows:
bk[k]=sign(CkTSR).xe2x80x83xe2x80x83(2)
The Sign function outputs a 1 if the input is positive and a xe2x88x921 if the input is negative.
Generally,
SR=ST+n,xe2x80x83xe2x80x83(3)
where n represents the noise from the environment. Combining equations (1), (2), and (3) yields:                                                                                                               b                    k                    xe2x80x2                                    ⁡                                      [                    k                    ]                                                  =                                  xe2x80x83                                ⁢                                  sign                  ⁢                                      xe2x80x83                                    [                                                                                    C                        k                        T                                            ⁢                                              S                        T                                                              +                    n                                    ]                                            ,                                                                          =                              xe2x80x83                            ⁢                              sign                ⁢                                  xe2x80x83                                [                                                      C                    k                    T                                    ⁢                                                            ∑                      i                                        ⁢                                          (                                                                        b                          ⁢                                                      xe2x80x83                                                    ⁢                                                      i                            ⁡                                                          [                              j                              ]                                                                                ⁢                                                      C                            i                                                                          +                        n                                            )                                                                      ]                                                                                        =                              xe2x80x83                            ⁢                              sign                [                                                                                                    b                        k                                            ⁡                                              [                        j                        ]                                                              ⁢                                          C                      k                      T                                        ⁢                                          C                      k                                                        +                                                            ∑                                              i                        ≠                        k                                                              ⁢                                          (                                                                        b                          ⁢                                                      xe2x80x83                                                    ⁢                          i                          ⁢                                                      xe2x80x83                                                    ⁢                                                      C                            k                            T                                                    ⁢                                                      C                            i                                                                          +                                                                              C                            k                            T                                                    ⁢                          n                                                                    )                                                                      ]                                                                        (        4        )            
For orthogonal codes,
CkTCi≈0, if ixe2x89xa0k.xe2x80x83xe2x80x83(5)
Also, noise n is small compared with an original signal, and
CkTCk=m,xe2x80x83xe2x80x83(6)
where m is the spreading factor.
Because bk[j] is either 1 or xe2x88x921,                                                                                           b                  k                  xe2x80x2                                ⁡                                  [                  j                  ]                                            ≈                              xe2x80x83                            ⁢                              sign                (                                                                            b                      k                                        ⁡                                          [                      j                      ]                                                        ⁢                                      xe2x80x83                                    ⁢                  m                                )                                                                                        =                              xe2x80x83                            ⁢                                                                    b                    k                                    ⁡                                      [                    j                    ]                                                  .                                                                        (        7        )            
In addition to the noise signal, other user data can be regarded as another source of interference for CDMA systems.
Modem CDMA systems use either different orthogonal codes or the same code with different delays. This requires hardware that can despread several codes concurrently. Some researchers have tried to increase throughput by adding two PN sequences as the code input, with the two sequences coming from the same code with different delays.
Another system to reduce power consumption uses sign-magnitude data format and two accumulators for positive and negative partial sums, respectively, with a specialized architecture. None of these systems, however, provides a complete solution to future problems facing CDMA systems.
A method, consistent with this invention, of despreading an input signal spread with two original codes, comprises forming two new multi-element codes from the two original codes such that only one of the corresponding elements of each code is zero, combining the new codes with the input signal, and combining the partial results to form correlation values. Combining the new codes involves forming partial results for each of the new codes, and updating, for each element, the partial result corresponding to the new code for which the corresponding element is not zero.
A system, consistent with this invention, for despreading an input signal spread with two original codes involves forming two new multi-element codes from the two original codes such that only one of the corresponding elements of each code is zero. The apparatus comprises first adder means for combining the new codes with the input signal, and adder subtractor means for combining the partial results to form correlation values. The first adder means includes means for forming partial results for each of the new codes, and means for updating, for each element, the partial result corresponding to the new code for which the corresponding element is not zero.
A dual-code correlator, consistent with this invention, is coupled to an input signal and a pair of multi-element codes designed such that only one of the corresponding elements of each code is zero, and comprises a decoder element receiving the input signal and the codes, an adder coupled to the output of the decoder element and a register bank containing partial results, and an adder/subtractor circuit to form correlation results from the partial results.
Another dual code correlator, consistent with this invention, is coupled to an input signal and a pair of multi-element codes designed such that only one of the corresponding elements of each code is zero, and comprises an adder circuit receiving the input signal and a partial result, a register bank containing a plurality of partial results, steering circuits for directing the output of the adder circuit to the register circuit and for directing the appropriate one of the partial results to the adder circuit, and an adder/subtractor circuit to form correlation results from the partial results.
A matched filter, consistent with this invention, comprises a plurality of filter stages connected sequentially, and an adder/subtractor circuit connected to the outputs of the last of the filter stages in the sequence for forming the filter output. Each of the stages includes an adder receiving an input signal and an output from a previous stage, the first of the stages in the sequence receiving a fixed input, and a register bank to hold the output of the adder as an output of that stage.
Both the foregoing general description and the following detailed description are exemplary and do not restrict the invention claimed. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate systems and methods consistent with the invention and, together with the description, explain the principles of the invention.